package com.danjoas.service.impl;

import com.danjoas.dao.ProgramaDao;
import com.danjoas.model.Programa;
import com.danjoas.model.TipoBusqueda;
import com.danjoas.service.ProgramaService;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

/**
 *
 * @author JAVA_MJ
 */

@Service("programaService")
public class ProgramaServiceImpl implements ProgramaService {

    @Autowired
    ProgramaDao programaDao;

    @Transactional
    public Programa consultarPorCodigo(String codigo) {
        return programaDao.consultarPorCodigo(codigo);
    }

    @Transactional
    public void registrar(Programa programa) {
        programaDao.registrar(programa);
    }

    @Transactional
    public List<Programa> listarTodos() {
        return programaDao.listarTodos();
    }

    @Transactional
    public void eliminarPorCodigo(String codigo) {
        programaDao.eliminarPorCodigo(codigo);
    }

    @Transactional
    public void borrarTodos() {
        programaDao.borrarTodos();
    }

    @Transactional
    public List<Programa> listarSegun(String titulo, String descripcion, TipoBusqueda tipoBusquedaEnum) {
        return programaDao.listarSegun(titulo, descripcion, tipoBusquedaEnum);

    }

    @Transactional
    public void modificarPorCodigo(Programa programa) {
        programaDao.modificarPorCodigo(programa);
    }
}
